package com.mx.ipn.escom.wad.proyecto.documento.bussines;

import java.util.List;
import javax.inject.Named;
import javax.inject.Singleton;
import org.springframework.transaction.annotation.Transactional;
import com.mx.ipn.escom.wad.proyecto.documento.dao.ComentarioDao;
import com.mx.ipn.escom.wad.proyecto.documento.model.Comentario;
import com.mx.ipn.escom.wad.proyecto.documento.model.ComentarioId;

/**
 * Clase que define las reglas de negocio que pertenecen a la gestión de Comentarios
 * @author jorge
 *
 */
@Singleton
@Named("comentarioBs")
public class ComentarioBs {
	
private ComentarioDao comentarioDao;
	
	@Transactional
	private List<Comentario> findAll(){
		return comentarioDao.findAll();
	}
	
	@Transactional
	private Comentario findById(ComentarioId id){
		return comentarioDao.findById(id);
	}
	
	@Transactional
	private List<Comentario> findByExample(Comentario entidad) {
		return comentarioDao.findByExample(entidad);
	}

	@Transactional(rollbackFor = Exception.class)
	private Comentario save(Comentario entidad) {
		return comentarioDao.save(entidad);
	}

	@Transactional(rollbackFor = Exception.class)
	private Comentario update(Comentario entidad) {
		return comentarioDao.update(entidad);
	}

	@Transactional(rollbackFor = Exception.class)
	private Comentario delete(Comentario entidad) {
		return comentarioDao.delete(entidad);
	}

	/**
	 * @return the comentarioDao
	 */
	public ComentarioDao getComentarioDao() {
		return comentarioDao;
	}

	/**
	 * @param comentarioDao the comentarioDao to set
	 */
	public void setComentarioDao(ComentarioDao comentarioDao) {
		this.comentarioDao = comentarioDao;
	}

}
